<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>作用域具名插槽(slot-scope)</title>
</head>
<body>
    <div id="app">
        <cpn>
            <div slot-scope="slot">
                <p v-for="item in slot.data">{{item}}</p>
            </div>
        </cpn>
        <cpn>
            <p slot-scope="slot">{{slot.data.join('-')}}</p>
        </cpn>
    </div>

    <template id="cpn">
        <div>
            <!-- 作用域具名插槽:
                1.给slot添加v-bind绑定的自定义属性,它的值为要传给父组件使用的变量名
                2.使用的时候,在组件的根标签上设置slot-scope属性,它的值为slot(可以自定义字符串),然后使用的时候,通过slot.自定义属性,取得数据
                3.总结:父组件替换插槽的标签,但内容由子组件来提供
            -->
            <slot :data="movies"></slot>
        </div>
    </template>

    <script src="../vue/vue.js"></script>
    <script>
        const cpn = {
            template:'#cpn',
            data() {
                return {
                    movies:['海王','肖申克的救赎','霸王别姬','真三国演绎']
                }
            },
            methods:{

            }
        }
        const app = new Vue({
            el:'#app',
            data:{

            },
            methods: {
                
            },
            components:{
                cpn
            }
        });
    </script>
</body>
</html>